package com.train.springboot.springboottrain.filter;

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;


@WebFilter(urlPatterns = "/myfilter")
public class Myfilter implements Filter {


    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("---------------您已进入过滤器--------------");

        filterChain.doFilter(servletRequest , servletResponse);
    }
    //声明过滤器
}
/*
SpringBoot框架下使用过滤器Filler的两种方式
用注方式使用Filler，@WebFilter @ServletCompanscan
通过配置类注册组件
拦截器与过滤器的区别 ：
     1. 拦截器是基于java的反射机制的，而过滤器是基于函数回调。
     2. 拦截器不依赖与servlet容器，过滤器依赖与servlet容器。
     3. 拦截器只能对action请求起作用，而过滤器则可以对几乎所有的请求起作用。
     4. 拦截器可以访问action上下文、值栈里的对象，而过滤器不能访问。
     5. 在action的生命周期中，拦截器可以多次被调用，而过滤器只能在容器初始化时被调用一次  */